var _fund_sources = 'fund_sources'; 
var _task_type = 'task_type';
$(function(){
	/** 是否展示任务计划 **/
	var _isTaskPaln = $('#isTaskPlan').val();
	if (_isTaskPaln == '') {
		$('#task_plan_tr').hide();
	}
	
	/**资金来源*/
	$.get('dataDict/dataDictsByCode.shtml', {code : _fund_sources}, function(data){
		var checkboxs_html = '';
		for ( var i = 0; i < data.length; i++) {
			checkboxs_html = checkboxs_html
								+ '<input class="easyui-validatebox" required="true" type="checkbox" name="fundSourcesArray" id="fund_sources_' 
								+ data[i].code + '" ';
			if ($('#fundSources_temp').length > 0) {
				var _fundSources_temp = $('#fundSources_temp').val();
				if (data[i].code == _fundSources_temp) {
					checkboxs_html = checkboxs_html + ' checked="checked"';
				}
			}
			checkboxs_html = checkboxs_html + ' value="'
								+ data[i].code + '" style="vertical-align:middle;"><label for="fund_sources_'
								+ data[i].code + '" style="vertical-align:middle;">'
								+ data[i].name + '</label>';
		}
		$('#fund_sources_td').html(checkboxs_html);
	});
	
	/**资金来源*/
	$.get('dataDict/dataDictsByCode.shtml', {code : _task_type}, function(data){
		var checkboxs_html = '';
		var flag = 0;
		for ( var i = 0; i < data.length; i++) {
			checkboxs_html = checkboxs_html
								+ '<input class="easyui-validatebox" required="true" type="radio" onclick="typeChange()" name="taskTypeArray" id="task_type_' 
								+ data[i].code + '" ';
			if ($('#type')) {
				var _taskType_temp = $('#type').val();
				if (data[i].code == _taskType_temp) {
					checkboxs_html = checkboxs_html + ' checked="checked"';
					flag = 1;
				}
			}
			checkboxs_html = checkboxs_html + ' value="'
								+ data[i].code + '" style="vertical-align:middle;"><label for="task_type_'
								+ data[i].code + '" style="vertical-align:middle;">'
								+ data[i].name + '</label>';
		}
		$('#task_type_td').html(checkboxs_html);
		if(flag ==0 ){
			$("input[name='taskTypeArray'][value=1]").attr("checked",true); 
		}
		typeChange();
	});
	
	/**初始化指标*/
	$('#projectIndexId').combotree({
		url : 'projectIndex/projectIndexs',
		required : true,
		tipPosition : 'bottom',
		missingMessage : '请选择所属指标',
		onLoadSuccess : function (node, data) {
			 var t = $(this);
	  		 if(data){
			     /*$(data).each(function(index,d){
					if(this.state == 'closed'){
					  //  t.tree('expandAll');
					}
					
			     });*/
			     var roots = t.tree('getRoots');
			     if (roots.length > 0) {
			    	 $(roots).each(function(index,root){
			    		 // console.log(root);
			    		 t.tree('expand', root.target);
		        	 });
			     }
			}
		},
		onSelect : function (record) {
			$.post('taskWorkflow/getRestAmount.shtml', {projectIndexId : record.id}, function(data) {
				//console.log(data);
				var rest_amount = Number(data.data.rest_amount_);
				if (rest_amount >= 0) {
					$('#rest_amount_html').html('剩下<font color="red">' + rest_amount + '</font>预算可以申请');
				} else {
					$('#rest_amount_html').html('已经超出<font color="red">' + (-rest_amount) + '</font>预算');
				}
			});
		}
	});
	$('#pId_clear_btn').click(function(){
		$('#projectIndexId').combotree('clear');
		$('#rest_amount_html').html('');
	});
	
	/** 上传控件初始化 */
	fileUpload({
		positionId:'_fileupload',
		type:'edit',
		initType:'ajax',
		ajaxUrl:'attachment/attachments.shtml',
		ajaxData:{bizId : $('#id').val(), attaType:'task'}
	});
	/*
	 * 这个作为后期研发需求，暂缓
	 * $('#workflowIds').combobox({
        url:'workflow/workflows.shtml?formTypeId=1',
        method:'get',
        valueField:'workFlowId',
        textField:'flowName',
        panelHeight:'auto',
        multiple:false
	});*/
	
	/** 保存 */
	$('#btnSave').click(function(){
		$('#name').validatebox({
			required : true,
			tipPosition : 'bottom',
			validType : 'length[1,50]',
			missingMessage : '主题不能为空',
			invalidMessage : '主题不能超过50个字符'
		});
		$('#remark').validatebox({
			required : true,
			tipPosition : 'bottom',
			missingMessage : '任务内容不能为空'
		});
		$('#planAmount').numberbox({
			required : true,
			min:0,
			precision : 2,
			tipPosition : 'bottom',
			missingMessage : '计划使用资金不能为空',
			invalidMessage : '最小为0.00，只能输入两位小数'
		});
		$('#startTime').validatebox({
			required : true,
			tipPosition : 'bottom',
			missingMessage : '任务起始时间不能为空'
		});
		$('#endTime').validatebox({
			required : true,
			tipPosition : 'bottom',
			missingMessage : '任务结束时间不能为空'
		});
		var checked_fundsources = $("input[name='fundSourcesArray']:checked");
		if (0 == checked_fundsources.length) {
			$.messager.alert('提醒', '来源资金不可以未空，且只能勾选一个！','info');
			return;
		} else if (1 != checked_fundsources.length) {
			$.messager.alert('提醒', '来源资金只能勾选一个！','info');
			return;
		}
		var task_actor_ids = $('#taskActorIds').val();
		if ('' == task_actor_ids) {
			$.messager.alert('提醒', '任务参与者不能为空','info');
			return;
		}
		//console.log('1')
		if ($("#nextNode").attr('nodeType') != '3') {
			//console.log('2')
			if ($("#nextNode").attr('dynamicSelect') == '1') {
				//console.log('3')
				var userIds = $('#userIds').val();
				if ('' == userIds) {
					$.messager.alert('提醒', '办理人不可为空','info');
					return;
				}
			}
		}
		var valid = $('#form').form('validate');
		if(valid) {
			$("body").mask();
			$('#form').ajaxSubmit({
				url : 'taskWorkflow/save',
				success : function(data) {
					$("body").unmask();
					if (!data.success) {
						$.messager.alert('提醒', data.message,'info');
					} else {
						$.messager.alert('提醒', data.message,'info', function(){
							//$('#form').form('clear');
							try{
								parent.reSearch();
								parent.closeEasyUiWindow('win');
							}catch(e){
								 $.messager.defaults = { ok: "是", cancel: "否" };  
								 $.messager.confirm("操作提示", "您要继续新增任务吗？", function (data) {  
							            if (data) {
							                window.location.reload(true);
							            }  
							            else {  
							            	closeThis();
							            }  
							        });  
							}
						});
					}
				}
			});
		}
	});
	
	/** 保存 */
	$('#btnReSave').click(function(){
		$('#name').validatebox({
			required : true,
			tipPosition : 'bottom',
			validType : 'length[1,50]',
			missingMessage : '主题不能为空',
			invalidMessage : '主题不能超过50个字符'
		});
		$('#remark').validatebox({
			required : true,
			tipPosition : 'bottom',
			missingMessage : '任务描述不能为空'
		});
		$('#planAmount').numberbox({
			required : true,
			min:0,
			precision : 2,
			tipPosition : 'bottom',
			missingMessage : '计划使用资金不能为空',
			invalidMessage : '最小为0.00，只能输入两位小数'
		})
		$('#startTime').validatebox({
			required : true,
			tipPosition : 'bottom',
			missingMessage : '任务起始时间不能为空'
		});
		$('#endTime').validatebox({
			required : true,
			tipPosition : 'bottom',
			missingMessage : '任务结束时间不能为空'
		});
		var checked_fundsources = $("input[name='fundSourcesArray']:checked");
		if (0 == checked_fundsources.length) {
			$.messager.alert('提醒', '来源资金不可以未空，且只能勾选一个！','info');
			return;
		} else if (1 != checked_fundsources.length) {
			$.messager.alert('提醒', '来源资金只能勾选一个！','info');
			return;
		}
		var task_actor_ids = $('#taskActorIds').val();
		if ('' == task_actor_ids) {
			$.messager.alert('提醒', '任务参与者不能为空','info');
			return;
		}
		//console.log('1')
		if ($("#nextNode").attr('nodeType') != '3') {
			//console.log('2')
			if ($("#nextNode").attr('dynamicSelect') == '1') {
				//console.log('3')
				var userIds = $('#userIds').val();
				if ('' == userIds) {
					$.messager.alert('提醒', '办理人不可为空','info');
					return;
				}
			}
		}
		var valid = $('#form').form('validate');
//		console.log('-------------------->>>reSave');
		if(valid) {
			$("body").mask();
			$('#form').ajaxSubmit({
				url : 'taskWorkflow/reSave',
				success : function(data) {
					$("body").unmask();
					if (!data.success) {
						$.messager.alert('提醒', data.message,'info');
					} else {
						$.messager.alert('提醒', data.message,'info', function(){
							$('#form').form('clear');
							parent.parent.reSearch();
							parent.parent.closeEasyUiWindow('win');
						});
					}
				}
			});
		}
	});
	
	/** 取消 */
	$('#btnCancel').click(function(){
		$('#form').form('clear');
		closeThis();
	});
	
	function closeThis(){
		try{
			parent.closeEasyUiWindow('win');
			parent.closeTab('任务申请');
		}catch(e){
			parent.closeTab('任务申请');
		}
	}
	
	/****************************task plan query,add,edit,detail,remove*************************************/
	/** 加载任务计划列表 */
	$('#dg').datagrid({    
		border:1,
		nowrap:true,
		striped:true,
		fit: false,//自动大小
		frozenColumns:[[    
	        {field : 'id', title : 'id', hidden:true},    
	        {field : 'name', title : '计划主题', width:200}
	    ]],
	    columns : [[
			{field : 'endTime', title : '截止时间', width : 160,
				formatter : function (value, row, index){
					return value.split(" ")[0];
				}
			},
			{field : 'planActorName', title : '责任人', width : 80, align : 'center'},
			{field : 'expectResult', title : '预期成果', width : 150, align : 'center'},
	        {field : 'remark', title : '计划描述', width:300}
			//,
			//{field : 'createTime', title : '创建时间', width:150, align : 'center'}
        ]],
		singleSelect:true,
		rownumbers:true,
		toolbar:'#tb',
		pagination:true,
		pageSize:20,
		onClickRow:function(rowIndex, rowData){}
	}).datagrid('getPager').pagination({  
        pageSize: 20,//每页显示的记录条数，默认为10  
        pageList: [20,50,100],//可以设置每页记录条数的列表  
        beforePageText: '第',//页数文本框前显示的汉字  
        afterPageText: '页    共 {pages} 页',  
        displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录'
    });
	/** 新增 */
	$('#add').click(function(){
		var _url = 'taskPlan/editTaskPlan.shtml';
		showEasyUiWindow('contentFrame', _url, 'win', '新增任务计划', 550, 400);
	});
	
	/*** 编辑 */
	$('#edit').click(function(){
		var row = $('#dg').datagrid('getSelected');
		if (row) {
			var url = 'taskPlan/editTaskPlan.shtml?id=' + row.id;
			showEasyUiWindow('contentFrame', url, 'win', '编辑任务计划', 500, 350);
		} else {
			$.messager.alert('warning', '请选择一条数据！', 'warning');
		}
	});
	
	/**查看*/
	$('#detail').click(function(){
		var row = $('#dg').datagrid('getSelected');
		if (row) {
			var url = 'taskPlan/detailTaskPlan.shtml?id=' + row.id;
			showEasyUiWindow('contentFrame', url, 'win', '查看任务计划详情',500, 350);
		} else {
			$.messager.alert('warning', '请选择一条数据！', 'warning');
		}
	});
	
	/*** 删除 */
	$('#remove').click(function(){
		var row = $('#dg').datagrid('getSelected');
		if (row) {
			$.messager.confirm('确认', '你确认要删除此条数据吗?', function(r) {
				if (r) {
					var id = row.id;				
					$.get('taskPlan/deleteTaskPlan.shtml', {id : id}, function(rs) {
						if (rs.success == true) {
							$.messager.alert('warning', '删除成功', 'warning', function(){
								dealTaskPlan('remove', id);
							});
						} else {
							$.messager.alert('warning', '删除失败，请联系管理员', 'warning');
						}
					});
				}
			});
		} else {
			$.messager.alert('warning', '请选择一条数据！', 'warning');
		}
	});
});

function dealTaskPlan(operate, id) {
	if ('add' == operate) {
		//新增将构造新的隐藏域
		var _html = '<input type="hidden" name="taskPlanIds" id="taskPlanId_' + id + '" value="' + id +'"/>';
		$('#hide_task_plan_ids').html($('#hide_task_plan_ids').html() + _html);
	} else if ('remove' == operate) {
		$('#taskPlanId_' + id).remove();
	}
	// 重新计算ids
	var idStr = '';
	var ids = new Array();
	$('input[name="taskPlanIds"]').each(function(){
		var id = $(this).val();
		ids.push(id);
	});
	if (ids.length >0) {
		idStr = ids.join(',');
	}
	$('#dg').datagrid({
		url:'taskPlan/queryTaskPlans.shtml',
		queryParams : {
			ids : idStr
		}
	});
}

function typeChange(){
	var show = $('input:radio[name=taskTypeArray]:checked').val() == 1 ? 'none':'';
	$("#workflow").css('display',show); 
	$('#type').val( $('input:radio[name=taskTypeArray]:checked').val());
	
}

function userSelectCallback(){
	makeActorSelect();
}

function makeActorSelect(){
	//if( $('#actorId').val()==''){
		 $('#_actor').html('');
		 $('<select id="_actorId" name="_actorId" class="edit-input" style="width:250px" ></select>').appendTo("#_actor"); 
		 if($('#taskActorIds').val().length>0){
				var ids = $('#taskActorIds').val().split(',');
				var names = $('#taskActorNames').val().split(',');
				for(var i=0;i<ids.length;i++){
					var tmp = {};
					tmp.id = ids[i];
					tmp.text = names[i];
					if (i == 0) {
						$("<option value='"+ids[i]+"' selected='selected'>"+names[i]+"</option>").appendTo("#_actorId");
						$('#actorName').val(names[i]);
						$('#actorId').val(ids[i]);
					} else {
						$("<option value='"+ids[i]+"'>"+names[i]+"</option>").appendTo("#_actorId");
					}
				}
			}
//	}else{
//		$('#_actorId').html('<label>'+$("#acotrName").val()+'</label>');
//	}
		 if( $('#actorId').val()==''){
			 $('#_actorId').find('option[id="' + $('#actorId').val() + '"]').attr('selected', true);
		 }
}